package main

import "fmt"

//var aa = 3
//var bb = "kaka"

var (
	aa = 3
	bb = "kaka"
)

// 在函数外部这样不可使用
//bb := "kaka"

func variableZero() {
	var a int = 24
	var s string = "kaka"
	fmt.Println(a, s)
}

/**
在同一行可以声明多个变量
*/
func variableInitialValue() {
	var a, b int = 3, 4
	var c string = "kaka"
	fmt.Println(a, b, c)
}

/**
也可以不用声明类型直接使用
*/
func variableTypeDeduction() {
	var a, b, c, d = 1, 2, true, "kaka"
	fmt.Println(a, b, c, d)
}

/**
可以不使用var来定义直接用使用:=即可
如果存在赋值则不需要:
*/
func variableShorter() {
	a, b, c, d := 1, 2, true, "kaka"
	b = 5
	fmt.Println(a, b, c, d)
}

func main() {
	//fmt.Println("hello world")
	variableZero()
	variableInitialValue()
	variableTypeDeduction()
	variableShorter()
	fmt.Println(aa, bb)
}
